#include "stdafx.h"
#include "crHttpParameters.h"

NS_CR_BEGIN

namespace http
{

	Parameters::Parameters(const _STD initializer_list<Parameter>& parameters)
	{
		for (const auto& parameter : parameters) 
		{
			AddParameter(parameter);
		}
	}

	void Parameters::AddParameter(const Parameter& parameter)
	{
		if (!content.empty()) {
			content += "&";
		}

		auto escapedKey = utils::urlEncode(parameter.key);
		if (parameter.value.empty()) {
			content += escapedKey;
		}
		else {
			auto escapedValue = utils::urlEncode(parameter.value);
			content += escapedKey + "=" + escapedValue;
		}
	}

}

NS_CR_END